.. |gKnop_ic| image:: Img/gKnop.png .. _Руководство для работы с ключевыми словами: ########################################## Руководство по работе с ключевыми словами. ########################################## Ключевые слова используются в настройках сайдбара и позволяют заменять в приложении ключевое слово на значение ключевого слова. Например, при добавлении пользователем ключевого слова $CURRENT_USER$ в настройки сайдбара в приложении значение ключевого слова будет отображаться как текущий пользователь (Иван Иванов при входе в Систему под логином/паролем Ивана Иванова). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ключевые слова по умолчанию. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **Ключевые слова для даты и времени.** В Системе реализована отдельная категория ключевых слов для даты и времени. При разрешении всех значений даты и времени (например, в одном запросе, в одном выражении) обеспечено формирование значения на основе одной и той же временной отметки. Например, $DATE$ и $DAY_AGO$ будут иметь одно и тоже значение часов, минут, секунд и миллисекунд. Следует обратить внимание, что отсчёт от единой временной отметки не будет соблюдаться при последовательном вызове разных значений по отдельности (используя метод getValue плагина $kw). **Ключевые слова для даты и времени.** * $DATE$ - Дата. * $DATE_MS$ - Дата в миллисекундах. * $HOUR_START$ - Начало текущего часа в формате ISO. * $HOUR_START_MS$ - Начало текущего часа в миллисекундах. * $DAY_START$ - Начало дня. * $DAY_START_MS$ - Начало дня в миллисекундах. * $DAY_AGO$ - День назад. * $DAY_AGO_MS$ - День назад в миллисекундах. * $WEEK_START$ -Начало недели. * $WEEK_START_MS$ - Начало недели в миллисекундах. * $MONTH_START$ - Начало месяца. * $MONTH_START_MS$ - Начало месяца в миллисекундах. **Ключевые слова контекста.** Ключевые слова контекста получают значения из свойств контекста приложения и имеют префикс CTX (за исключением ключевых слов $SYSTEM_USER$ и $SYSTEM_USER_SN$, которые имеют такие имена традиционно). Сейчас доступны следующие ключевые слова свойств контекста: * $CTX_PAGE_TYPE$ - тип страницы (например, catalog, form). Допустимые типы описаны ниже. "login" - на странице входа в Систему. "home" - на домашней странице (/home). "catalog" - на странице каталога услуг (/catalog). "console" - на странице консоли (/console/). "form" - на странице формы (/form/). "dashboard" - на странице инструментальной панели (/dashboard/). "form-editor" - на странице редактирования формы (в режиме администратора, /admin/forms/). "undefined" - на странице, которая отсутствует в вышеприведённом списке. * $CTX_ENTITY_ID$ - ID текущей записи (если форма - записи схемы, если консоль - ID консоли и т.д.). * $CTX_IS_ADMIN$ - Признак, является ли пользователь администратором (true/false). * $CTX_LOCALE$ - Код текущей локали (например, en, ru). * $CTX_IS_MOBILE$ - Признак, запущено ли приложение на мобильном устройстве (true/false). * $CTX_IS_TABLET$ - Признак, запущено ли приложение на планшете (true/false). * $CTX_IS_DESKTOP$ - Признак, запущено ли приложение на устройстве с большим монитором (компьютер, ноутбук) (true/false). * $SYSTEM_USER$ - Логин пользователя, вошедшего в Систему. * $SYSTEM_USER_SN$ - Информация из свойства SN записи пользователя (например, "Иван Иванов"). **Ключевые слова формы.** Ключевые слова формы доступны только если приложение находится на странице формы, в ином случае на любое значение ключевого слова формы будет возвращена пустая строка. Ключевое слово формы состоит из префикса FORM и идентификатора поля формы, значение из которого будет являться значением этого ключевого слова. Например, в форме инцидентов /form/schm001_form_0001/INC000000004051 следующие ключевые слова будут иметь соответствующие значения: { $FORM_in_003_004$: "TEST INCIDENT Bob Baxter Устранение неполадок подключения к сети в браузере Internet Explorer ", $FORM_0e82c9ff-74c2-3154-8be0-5e36c88dcf27$: "1114 Eighth Avenue, 31st Floor." } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Использование ключевых слов в Системе. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ======================================== Использование ключевых слов в сайдбарах. ======================================== Использование ключевых слов в сайдбарах зависит от типа группы сайдбара, в которой планируется использование ключевых слов. **Тип группы URL.** В данном типе формат ввода выглядит следующим образом: /$Ключевое_слово$. Например, /$MY_REGARDS$ (:numref:`33Pic5`). .. _33Pic5: .. figure:: Img/gURL.png :scale: 80 % :align: center *Тип группы URL* **Тип группы link.** В данном типе формат ввода выглядит следующим образом: "/$Ключевое_слово$". Например, "/$MY_REGARDS$" (:numref:`33Pic6`). .. _33Pic6: .. figure:: Img/glink.png :scale: 80 % :align: center *Тип группы link* **Тип группы page.** В данном типе формат ввода выглядит аналогично формату ввода в поле с типом URL: /$Ключевое_слово$. Например, /$MY_REGARDS$ (:numref:`33Pic7`). .. _33Pic7: .. figure:: Img/gpage.png :scale: 80 % :align: center *Тип группы page* **Тип группы custom.** В типе *custom* формат ввода выглядит следующим образом: "/$Ключевое_слово$". Например, "/$MY_REGARDS$" (:numref:`33Pic8`). .. _33Pic8: .. figure:: Img/gcustom.png :scale: 80 % :align: center *Тип группы custom* ============================================= Использование ключевых слов в Каталоге услуг. ============================================= В Каталоге услуг ключевые слова используются при построении строки URL в карточке услуги (:numref:`33Pic9`). .. _33Pic9: .. figure:: Img/hSTU.png :scale: 80 % :align: center *Строка URL* В качестве примера можно привести строку URL http://cbr.ru/currency_base/daily/?UniDbQuery.Posted=True&UniDbQuery.To={{ new Date($DAY_AGO_MS$).toLocaleDateString() }} Услуга открывает страницу Банка России с курсом валют на дату "Вчера". .. _33Pic10: .. figure:: Img/hKurs.png :scale: 80 % :align: center *Курс валют на дату Вчера* Внутри описано JavaScript-выражение, которое будет вычислено и вместо него подставится результат вычисления. Внутри выражения используется ключевое слово $DAY_AGO_MS$, определяющее дату, предшествующую дате "Сегодня". При обработке выражения сначала будут заменены ключевые слова в выражении, а потом произойдёт вычисление. Так же возможно "прямое" использование ключевого слова, вне JavaScript-выражения (:numref:`33Pic11`). .. _33Pic11: .. figure:: Img/hKurs3.png :scale: 80 % :align: center *Курс валют на дату, предшествующую дате "Сегодня" на три дня* Так, в строке URL http://cbr.ru/currency_base/daily/?UniDbQuery.Posted=True&UniDbQuery.To=$PROG$ используется ключевое слово $PROG$, определяющее дату, предшествующую дате "Сегодня" на три дня. Преобразуется ключевое слово в элемент строки URL в карточке каталога при переходе по URL. ========================================================== Использование ключевых слов при заполнении значений формы. ========================================================== Ключевые слова возможно использовать при заполнении значений полей формы. Ключевое слово на форме можно применить в любом поле текстового ввода. Пример использования *Ключевых слов* при заполнении значений полей формы представлен ниже (:numref:`33Pica12z`): .. _33Pica12z: .. figure:: Img/wForm.png :scale: 80 % :align: center *Пример использования Ключевых слов при заполнении значений полей формы* Здесь в поле "Содержание" использовано ключевое слово $SYSTEM_USER_SN$ во фразе "Описание инцидента. Автор: $SYSTEM_USER_SN$". После сохранения формы и обновления данных в поле "Содержание" будет фраза "Описание инцидента. Автор: Иван Иванов". То есть, ключевое слово при сохранении будет заменено его значением.